//package a02;
//
//import java.util.List;
//
//public abstract class TournamentReader {
//
//    public static String TOURNAMENT_READER_CLASS = "strategy.TournamentReader.class";
//
//    private static String DEFAULT_READER_CLASS = "strategy.DOMTournamentReader";
//
//    private static TournamentReader instance;
//
//    public static TournamentReader getInstance() {
//	if (instance == null) {
//
//	    String readerClass = System.getProperty(TOURNAMENT_READER_CLASS);
//	    if (readerClass == null) {
//		readerClass = DEFAULT_READER_CLASS;
//	    }
//
//	    try {
//		instance = (TournamentReader) Class.forName(readerClass)
//			.newInstance();
//	    } catch (Exception e) {
//		e.printStackTrace(System.err);
//		instance = new DOMTournamentReader();
//	    }
//	}
//
//	return instance;
//    }
//
//    public abstract List<TournamentPlayer> read(String fileName)
//	    throws Exception;
//}
